package itsm.isperp.module.entity.task;

import itsm.isperp.framework.domain.IBean;

import java.sql.Time;
import java.sql.Timestamp;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/// <summary>
/// 描述:tsk_plan_task
/// 创建者:zhouhg
/// 创建时间:2013/6/1
/// </summary>
@Entity
@Table(name = "tsk_plan_task")
public class TskPlanTask implements IBean {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
	private String id;

	@Column
	private String projectId;

	@Column
	private String projectStage;

	@Column
	private String taskCode;

	@Column
	private String taskName;

	@Column
	private String taskContent;

	@Column
	private String taskTarget;

	@Column
	private String taskDeliverables;

	@Column
	private float planTimes;

	@Column
	private String taskPriority;

	@Column
	private String taskPrincipalId;

	@Column
	private String taskPrincipalName;

	@Column
	private String excuteType;

	@Column
	private Timestamp excuteOnePlanStartTime;

	@Column
	private Timestamp excuteOnePlanEndTime;

	@Column
	private Date excutePeriodStart;

	@Column
	private Date excutePeriodEnd;

	@Column
	private String excuteFrequencyType;

	@Column
	private String excuteWeekDays;

	@Column
	private String excuteMonthDays;

	@Column
	private Time excuteTimeStart;

	@Column
	private Time excuteTimeEnd;

	@Column
	private Integer releaseBeforeDays;

	@Column
	private boolean releaseIfNotWorkday;

	@Column
	private boolean releaseIfDelay;

	@Column
	private Integer status = 0; // 0和1,1表示任务已经生成，不再生成，0反之

	@Column
	private String createMan;

	@Column
	private Date createTime;

	private String[] selectedWeekDays;

	private String[] selectedMonthDays;

	@Column
	private String taskType;

	@Column
	private String inspectTemplateDefId;
	
	@Column
	private Integer monthFrequency = 1;

	public String getInspectTemplateDefId() {
		return inspectTemplateDefId;
	}

	public void setInspectTemplateDefId(String inspectTemplateDefId) {
		this.inspectTemplateDefId = inspectTemplateDefId;
	}

	public String getTaskType() {
		return taskType;
	}

	public void setTaskType(String taskType) {
		this.taskType = taskType;
	}

	// / <summary>
	// / id
	// / </summary>
	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}

	// / <summary>
	// / project_id
	// / </summary>
	public String getProjectId() {
		return this.projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	// / <summary>
	// / project_stage
	// / </summary>
	public String getProjectStage() {
		return this.projectStage;
	}

	public void setProjectStage(String projectStage) {
		this.projectStage = projectStage;
	}

	// / <summary>
	// / task_name
	// / </summary>
	public String getTaskName() {
		return this.taskName;
	}

	public void setTaskName(String taskName) {
		this.taskName = taskName;
	}

	// / <summary>
	// / task_content
	// / </summary>
	public String getTaskContent() {
		return this.taskContent;
	}

	public void setTaskContent(String taskContent) {
		this.taskContent = taskContent;
	}

	// / <summary>
	// / task_target
	// / </summary>
	public String getTaskTarget() {
		return this.taskTarget;
	}

	public void setTaskTarget(String taskTarget) {
		this.taskTarget = taskTarget;
	}

	// / <summary>
	// / task_deliverables
	// / </summary>
	public String getTaskDeliverables() {
		return this.taskDeliverables;
	}

	public void setTaskDeliverables(String taskDeliverables) {
		this.taskDeliverables = taskDeliverables;
	}

	// / <summary>
	// / task_prioirty
	// / </summary>
	public String getTaskPriority() {
		return this.taskPriority;
	}

	public void setTaskPriority(String taskPriority) {
		this.taskPriority = taskPriority;
	}

	// / <summary>
	// / task_principal_id
	// / </summary>
	public String getTaskPrincipalId() {
		return this.taskPrincipalId;
	}

	public void setTaskPrincipalId(String taskPrincipalId) {
		this.taskPrincipalId = taskPrincipalId;
	}

	// / <summary>
	// / excute_type
	// / </summary>
	public String getExcuteType() {
		return this.excuteType;
	}

	public void setExcuteType(String excuteType) {
		this.excuteType = excuteType;
	}

	// / <summary>
	// / excute_one_plan_start_time
	// / </summary>
	public Timestamp getExcuteOnePlanStartTime() {
		return this.excuteOnePlanStartTime;
	}

	public void setExcuteOnePlanStartTime(Timestamp excuteOnePlanStartTime) {
		this.excuteOnePlanStartTime = excuteOnePlanStartTime;
	}

	// / <summary>
	// / excute_one_plan_end_time
	// / </summary>
	public Timestamp getExcuteOnePlanEndTime() {
		return this.excuteOnePlanEndTime;
	}

	public void setExcuteOnePlanEndTime(Timestamp excuteOnePlanEndTime) {
		this.excuteOnePlanEndTime = excuteOnePlanEndTime;
	}

	// / <summary>
	// / excute_period_start
	// / </summary>
	public Date getExcutePeriodStart() {
		return this.excutePeriodStart;
	}

	public void setExcutePeriodStart(Date excutePeriodStart) {
		this.excutePeriodStart = excutePeriodStart;
	}

	// / <summary>
	// / excute_period_end
	// / </summary>
	public Date getExcutePeriodEnd() {
		return this.excutePeriodEnd;
	}

	public void setExcutePeriodEnd(Date excutePeriodEnd) {
		this.excutePeriodEnd = excutePeriodEnd;
	}

	// / <summary>
	// / excute_frequency_type
	// / </summary>
	public String getExcuteFrequencyType() {
		return this.excuteFrequencyType;
	}

	public void setExcuteFrequencyType(String excuteFrequencyType) {
		this.excuteFrequencyType = excuteFrequencyType;
	}

	// / <summary>
	// / excute_week_days
	// / </summary>
	public String getExcuteWeekDays() {
		return this.excuteWeekDays;
	}

	public void setExcuteWeekDays(String excuteWeekDays) {
		this.excuteWeekDays = excuteWeekDays;
	}

	// / <summary>
	// / excute_month_days
	// / </summary>
	public String getExcuteMonthDays() {
		return this.excuteMonthDays;
	}

	public void setExcuteMonthDays(String excuteMonthDays) {
		this.excuteMonthDays = excuteMonthDays;
	}

	// / <summary>
	// / excute_time_start
	// / </summary>
	public Time getExcuteTimeStart() {
		return this.excuteTimeStart;
	}

	public void setExcuteTimeStart(Time excuteTimeStart) {
		this.excuteTimeStart = excuteTimeStart;
	}

	// / <summary>
	// / excute_time_end
	// / </summary>
	public Time getExcuteTimeEnd() {
		return this.excuteTimeEnd;
	}

	public void setExcuteTimeEnd(Time excuteTimeEnd) {
		this.excuteTimeEnd = excuteTimeEnd;
	}

	// / <summary>
	// / release_before_days
	// / </summary>
	public Integer getReleaseBeforeDays() {
		return this.releaseBeforeDays;
	}

	public void setReleaseBeforeDays(Integer releaseBeforeDays) {
		this.releaseBeforeDays = releaseBeforeDays;
	}

	// / <summary>
	// / release_if_not_workday
	// / </summary>
	public boolean getReleaseIfNotWorkday() {
		return this.releaseIfNotWorkday;
	}

	public void setReleaseIfNotWorkday(boolean releaseIfNotWorkday) {
		this.releaseIfNotWorkday = releaseIfNotWorkday;
	}

	// / <summary>
	// / release_if_delay
	// / </summary>
	public boolean getReleaseIfDelay() {
		return this.releaseIfDelay;
	}

	public void setReleaseIfDelay(boolean releaseIfDelay) {
		this.releaseIfDelay = releaseIfDelay;
	}

	public String getTaskCode() {
		return taskCode;
	}

	public void setTaskCode(String taskCode) {
		this.taskCode = taskCode;
	}

	public String getCreateMan() {
		return createMan;
	}

	public void setCreateMan(String createMan) {
		this.createMan = createMan;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getTaskPrincipalName() {
		return taskPrincipalName;
	}

	public void setTaskPrincipalName(String taskPrincipalName) {
		this.taskPrincipalName = taskPrincipalName;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String[] getSelectedWeekDays() {
		return this.selectedWeekDays;
	}

	public void setSelectedWeekDays(String[] selectedWeekDays) {

		this.selectedWeekDays = selectedWeekDays;

	}

	public String[] getSelectedMonthDays() {
		return selectedMonthDays;
	}

	public void setSelectedMonthDays(String[] selectedMonthDays) {
		this.selectedMonthDays = selectedMonthDays;
	}

	public float getPlanTimes() {
		return planTimes;
	}

	public void setPlanTimes(float planTimes) {
		this.planTimes = planTimes;
	}

	public Integer getMonthFrequency() {
		return monthFrequency;
	}

	public void setMonthFrequency(Integer monthFrequency) {
		this.monthFrequency = monthFrequency;
	}

}
